home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-15
/
umax130.zip
/
UMAX.DOC
< prev
next >
Wrap
Text File
|
1992-04-22
|
13KB
|
284 lines
UMAx
----
(c) Copyright 1991-1992, FM de Monasterio
Licensed Material - All rights reserved
Release 1.30
SUMMARY
UMAx allows for the testing of a number of services of the extended memory
manager, which implements the extended memory specification in 80286-based
or higher machines. The testing includes upper-memory block services, and
provides a list of the size and address of available upper-memory blocks.
----------------
1. GENERAL INFORMATION
Irrespective of the CPU, DOS runs in an 8086-compatible mode known as real
mode. In such a mode, where addressable memory is seen as consisting of a
series of 64-kb segments, memory addresses are made up of two portions: A
16-bit 'segment,' between 0 and 65,535 (or FFFF in hexadecimal), and a 16-
bit 'offset,' which is the distance in bytes (between 0 and FFFF) from the
address to the first byte of the segment. By modifying the segment:offset
values, up to 1 Mb of memory can be addressed.
In all 80x86 CPU-based DOS computers, the first megabyte (i.e. 1024 kb) of
memory comprises the initial 640 kb of address space, used by DOS, and the
remaining 384 kb of address space, used by hardware subsystems and by BIOS
routines. The lower 640-kb space is called 'conventional' memory, and the
upper 384-kb space is called the Upper Memory Area (UMA). The UMA is also
referred to as 'upper' or 'high-DOS' memory.
┌── Conventional RAM ──┬────── UMA ──────┌── Extended ──∙∙∙
0 kb 640 kb 1024 kb
│ │ │ EMBs
▒▒▒▒▒▒▒▒▒▒∙∙∙▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░∙∙∙
HMA
The extended memory specification (XMS) is a software interface for 80286-
based or higher computers, allowing real-mode programs to use the extended
memory as well as certain regions of conventional memory which are located
above the 640-kb DOS hardware barrier. The UMA is one such region.
The UMA is dedicated to video display and other hardware memory as well as
the ROM BIOS. Not all the UMA is normally used, so unused addresses can be
backfilled with a memory manager. Some XMS managers, such as the prototype
HIMEM.SYS, rely on other programs for the backfilling and simply arbitrate
use of memory blocks in the UMA (UMBs). Other XMMs, such as XMS-compatible
386-type memory managers, can both backfill the UMA and arbitrate UMB use.
Examples of such managers are QEMM386 (Quarterdeck) and 386MAX (Qualitas).
Current XMS versions provide two UMB services: (1) Function 10h, which can
be used to allocate a UMB of the requested size (if successful returns the
segment base of the allocated block and the actual UMB size; otherwise, it
returns the largest available block size), and (2) function 11h, which can
be used to free the allocated UMBs. By taking advantage of such services,
some resident programs can install themselves in upper memory (to preserve
the conventional memory used by DOS), and later remove themselves from the
memory.
DOS-MEDIATED UMB ALLOCATION (MS-DOS and PC-DOS 5.0)
Distributed MS-DOS and PC-DOS versions prior to MS-DOS 5.0 did not control
UMB allocation. When the (DOS-5 distributed) XMM driver HIMEM.SYS and the
UMB-provider EMM386.EXE are installed, and DOS 5.0 is reconfigured via the
command 'DOS=UMB' in the CONFIG.SYS file, all available UMBs are allocated
to DOS, thus linking the UMA to the operating system. If the UMA has been
linked, DOS allocates the UMBs via standard interrupt-21h function calls.
Under DR-DOS 6.0 or (if DOS controls UMA allocation) MS-DOS or PC-DOS 5.0,
both device drivers and resident programs can be loaded in the UMA via the
commands HIDEVICE or DEVICEHIGH for drivers and HIINSTALL and LOADHIGH for
for resident utilities. Loading in UMA is provided by XMS-compatible 386-
memory managers as well. (Finally, some resident utilities can also self-
install themselves in the UMA when UMB allocation is controlled by the XMS
manager or by MS-DOS or PC-DOS 5.0.)
----------------
2. XMS SERVICES
UMAx tests the UMB services of the XMS manager by progressively allocating
smaller blocks until no more free UMBs are available in the UMA, lists all
of the allocated UMBs, and then deallocates the blocks. It also provides a
graphic display of the available UMBs.
In the default mode, UMAx tests UMB functions between the lower address of
640 kb (hexadecimal segment A000) and the upper address of 1,024 kb (hexa-
decimal segment FFFF). A higher lower address can be specified via switch
/H (see below).
Optionally, UMAx can also test some basic XMS services: (1) allocation and
release of the HMA, (2) global and local enabling and disabling of the A20
Line, and (3) allocation, resizing, and release of a extended memory block
(EMB).
----------------
3. USAGE
UMAX [/Hn /X] [;Comments]
where switch Hn defines use of a hexadecimal address to be used as a lower
boundary for the UMA, in which A000 (640 kb) ≤ 'n' ≤ FFFF (1,024 kb). If a
null ('n' missing) or invalid address is given (A000 > 'n' > FFFF) the UMA
lower boundary of A000 is used.
Switch X tests basic non-UMB services of the XMS.
Comments may be added at the end of the command line invoking the program,
after the desired switches. The comments, which may help clarifying batch
files, must be preceded by a semicolon (;) and are ignored by UMAx.
Do not use the redirection command or the pipe command character of DOS in
these comments because DOS will try to implement the implied command(s).
----------------
4. ERRATA
Prior versions of UMAx may cancel execution and return an error message in
the following cases:
1. Revisions of MS-DOS 5.0 which improperly set the carry flag of the
CPU if the DOS-5 function 'Get MS-DOS Version' is called. This is
the case of Revision B of MS-DOS 5. (Use the undocumented command
VER /R at the DOS prompt to determine the revision of DOS 5.)
2. Versions of the memory manager 386MAX.SYS which improperly set the
carry flag and do not clear register AL of the CPU if the function
'Get Upper-Memory Link' of DOS 5 is called and either MS-DOS or PC
DOS 5.00 is installed (any revision). This is the case of version
6.01 of this manager. (This problem can be fixed with the utility
FIXLINK.EXE distributed by the author.)
----------------
5. ERROR MESSAGES
5.1 "Code is corrupted (CRC failure) - Execution cancelled"
A cyclical redundancy check carried out every time the program is executed
returned a wrong value, indicating corruption or tampering of the code.
5.2 "Failed to detect presence of an XMS manager (XMM)"
An XMS manager complying with the specifications of XMS 2 or higher is not
installed.
5.3 "UMB services not implemented [XMS error code 80h]"
The installed XMS manager does support UMB services or cannot backfill the
unused addresses in the UMA.
5.4 "General driver error [XMS error code 8Eh]"
5.5 "Unrecoverable driver error [XMS error code 8Fh]"
5.6 "Undetermined XMM error [XMS error code ??h]"
The XMS manager experienced a fatal error and program execution cannot be
continued. The problem may be cleared by rebooting the CPU.
5.7 "XMM could not allocate UMB [XMS error code B1h]"
The XMS manager was unable to allocate a requested UMB; reboot the CPU to
reset the UMA allocation.
5.8 "XMM could not release UMB [XMS error code B2h]"
The XMS manager was unable to release an allocated UMB; reboot the CPU to
reset the UMA allocation.
5.9 "UMBs are not available above this segment..."
There are no available free UMBs between the hexadecimal segment specified
above and segment FFFF; if a lower boundary was specified via switch H for
the UMA, try using a smaller (lower) value. See section 4.1.
----------------
6. COPYRIGHT
This documentation, programs, and other files distributed in this software
package (the "Software") are the copyrighted property of FM de Monasterio
(the "Author") who provides the Software and licenses its use. All rights
are reserved.
If you would like to use this Software for education or nonprofit purposes
at home, please make a donation for poor children in need of medical care,
sending to the address below a check marked "For Deposit Only" and payable
to "PATIENT CARE FUND, CHILDREN'S HOSPITAL, Washington DC." All donations
are sent to this hospital. (Please indicate the program for which you are
making the donation.)
For use by corporations, institutions or goverment agencies, or for-profit
purposes, contact the Author for licensing information.
U.S. GOVERNMENT INFORMATION
The use, duplication, or disclosure by the U.S. Government of the Software
is subject to the restricted rights applicable to commercial software that
are specified in the subdivision (b.3.ii) of the 'Rights in Technical Data
and Computer Software' clause, document DFARS 52.227-7013.
DISTRIBUTION
You may distribute this Software via magnetic and/or electronic means, but
you are specifically prohibited from:
- Charging fees or asking donations in exchange of or payment
for copies of this Software.
- Distributing this Software with commercial products without
the written, express permission in advance from the author.
- Distributing this Software via a for-profit organization or
group, either alone or with other software.
- Modifying any contents of this Software, including, but not
limited to, the copyright notice and this license.
The unauthorized copying, decompiling or disassembling of this Software is
prohibited. Any other use of this Software is also prohibited without the
express, written permision in advance from the author.
WARRANTY DISCLAIMER
The Author cannot and does not warrant that any functions contained in the
Software will meet your requirements, or that its operations will be error
free. The entire risk as to the Software performance or quality, or both,
is solely with the user and not the Author. You assume responsibility for
the selection of the program to achieve your intended results, and for the
installation, use, and results obtained from the Software.
The Author makes no warranty, either implied or expressed, including with-
out limitation any warranty with respect to this Software documented here,
its quality, performance, or fitness for a particular purpose. In no event
shall the Author be liable to you for damages, whether direct or indirect,
incidental, special, or consequential arising out the use of or any defect
in the Software, even if the Author has been advised of the possibility of
such damages, or for any claim by any other party.
All other warranties of any kind, either express or implied, including but
not limited to the implied warranties of merchantability and fitness for a
particular purpose, are expressly excluded.
LIMITATION OF REMEDIES
The information contained in the documentation for the Software is subject
to change without notice.
The Author's entire liability, and your exclusive remedy shall be: (1) the
replacement of an original Software diskette not meeting the above Limited
Warranty and which is returned to the Author along with proof of purchase,
or (2), if the Author is unable to deliver a replacement diskette which is
free of defects, you may terminate the License Agreement by returning this
Software and the corresponding license fee will be returned.
By using the Software, you acknowledge (1) to have read and understood all
parts of this document and (2) to have agreed with and accepted all of its
provisions without any reservation.
FM de Monasterio
P.O. Box 219
Cabin John, MD 20818-0219
┌─────────────────────────────────────────────────────────────┐
│ Trademarked names are the property of the respective owners │
└─────────────────────────────────────────────────────────────┘
[END]